﻿Feature: RegisterCustomer
	In order register new customers
	As an admin
	I want to be able to view new customers

#@ignore
Scenario: Register a new customer
	Given I have created a new Create Customer Command
	When I submit the Create Customer command	
	Then the customer should be created
	And a Customer Created Event should be Published

#@ignore
Scenario: Update an existing customer
	Given I have created a Customer
	And I have created a new Update Customer Command
	When I submit the Update Customer Command
	Then the customer should be updated
	And a Customer Created Updated should be Published

#@ignore
Scenario: Mark A Customer as Invalid
	Given I have created a Customer
	And I have created a new Invalidate Customer Command
	When I submit the Invalidate Customer command
	Then the customer should be marked as invalid
	And a Customer Invalidated event should be Published

#@ignore
Scenario: Update an customer that does not exist
	Given I have created a new Update Customer Command
	When I submit the Update Customer Command
	Then the command should be rejected

Scenario: Update an Invalid Customer should throw an error
	Given I have created a Customer
	And I have marked the Customer as Invalid
	And I have created a new Update Customer Command
	When I submit the Update Customer Command
	Then the command should be rejected


Scenario: Deactivating a Priority Customer should throw an error
	Given I have created a Customer
	And I have marked the Customer as Priority
	And I have created a new Invalidate Customer Command
	When I submit the Invalidate Customer command
	Then the command should be rejected